﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using UtilityExtensions;

namespace BOL.RendicionVentas
{
    public class LiquidacionVentaInfo
    {
        public LiquidacionVentaInfo(int idRendicionVenta,
                                    string numeroDoc,
                                    CuentaBanco cuentaBanco,
                                    DateTime fechaDeposito,
                                    decimal totalDeposito,
                                    int idArchivo,
                                    decimal totalRetencion)
        {
            this.idTipoLiquidacion=18;//deposito
            this.idinternal = Parametros.GenerarID();
            this.idRendicionVenta=idRendicionVenta;
            this.idTipoLiquidacion=idTipoLiquidacion;
            this.numero = numeroDoc;
            this.simbol = cuentaBanco.Moneda.simbol;
            this.fechaDeposito = fechaDeposito;
            this.fechaDepositoStr = fechaDeposito.ToShortDateString();
            this.idArchivo = idArchivo;
         
            SetCuentaBanco(cuentaBanco);
            SetTotal(totalDeposito);
            setTotalRetencion(totalRetencion);
            SetTotal();
        }

        public LiquidacionVentaInfo()
        {
        }

           public int idinternal { get; set; }
           public int  idTipoLiquidacion { get; set; }
           public string numero { get; set; }
           public int idRendicionVenta { get; set; }
          
           public DateTime  fechaDeposito { get; set; }
           public string  simbol { get; set; }
           public int idArchivo { get; set; }
           public decimal total { get; set; }
           
           public int idCuenta { get; set; }
        //-----------------------------------------------//
        
           public string tipoLiquidacion { get; set; }
           public string cuenta { get; set; }
           public string totalStr { get; set; }
            public string  fechaDepositoStr { get; set; } 


        //----------------------------------------------//

            public bool bitRetencion { get; set; }
            public decimal totalRetencion { get; set; }
            public string totalRetencionStr { get; set; }
        
         //-------------------------------------------//

                      
        public void  SetCuentaBanco(CuentaBanco cuentaBanco)
        {
            this.idCuenta = cuentaBanco.idInternal;
            this.cuenta = "{0}:{1}{2}".Fmt(cuentaBanco.Banco.descripcion,cuentaBanco.Moneda.descripcion,cuentaBanco.descripcion);
            this.simbol = cuentaBanco.Moneda.simbol;
        }
        public void SetTotal(decimal totalDeposito)
        {
            this.totalDeposito = totalDeposito;
            this.totalDepositoStr = "{0}{1}".Fmt(this.simbol, this.totalDeposito);
        }
        public void setTotalRetencion(decimal totalRendicion)
        {
            this.totalRetencion = totalRendicion;
            this.totalRetencionStr = "{0}{1}".Fmt(this.simbol, totalRendicion);
        }
        public void SetTotal()
        {
            this.total = totalDeposito+totalRetencion;
            this.totalStr = "{0}{1}".Fmt(this.simbol, this.total);
        }

        public decimal totalDeposito { get; set; }
        public string totalDepositoStr { get; set; }


    }
}
